﻿function OnTreeNodeChecked() {
    var ele = event.srcElement;
    if (ele.type == 'checkbox') {
        var childrenDivID = ele.id.replace('CheckBox', 'Nodes');
        var div = document.getElementById(childrenDivID);
        if (div != null) {
            var checkBoxs = div.getElementsByTagName('INPUT');
            for (var i = 0; i < checkBoxs.length; i++) {
                if (checkBoxs[i].type == 'checkbox')
                    checkBoxs[i].checked = ele.checked;
            }
        }
        OnTreeNodeChildChecked(ele);
    }
}

function OnTreeNodeChildChecked(ele) {
    //自动处理上级
    var parentDiv = null;
    if (ele != null) {
        parentDiv = ele
    }
    for (var i = 0; i < 100; i++) {
        if (parentDiv.parentElement != null) {
            parentDiv = parentDiv.parentElement;
        }
        else {
            break;
        }
    }
    //var parentDiv = ele.parentElement.parentElement.parentElement.parentElement.parentElement;
    var parentChkBox = document.getElementById(parentDiv.id.replace('Nodes', 'CheckBox'));
    if (parentChkBox != null) {
        var ChildsChkAll = true;
        var Boxs = parentDiv.getElementsByTagName('INPUT');
        for (var i = 0; i < Boxs.length; i++) {
            if (Boxs[i].type == 'checkbox' && Boxs[i].checked == false) {
                ChildsChkAll = false;
                break;
            }
        }
        parentChkBox.checked = ChildsChkAll;
        OnTreeNodeChildChecked(parentChkBox);
    }
}